\chapter[Methods]{Methods}

\section{Methods}

\GRID comes with lots of methods to interact with your environment.\\
This section covers them all.\\
\\
% {{{ add_row ( col1 [, col2 [, col3 ... ] ] ) - Adds a row of data to the grid 
\begin{FUNC}{add\_row}
	\NAME{add\_row ( col1 [, col2 [, col3 ... ] ] ) - Adds a row of data to the grid}
	\SYNOPSIS{ (void) add\_row ( col1 [, col2 [, col3 ... ] ] )}
	\DESCRIPTION
	{	This method adds a new row of data to the \GRID. Every grid row is created at once,
		so you have to pass all columns values for your grid, comma separated.\\
		Each \texttt{col}$n$ is a valid JavaScript object like \texttt{string} or \texttt{int}.
	}
	\INPUT
	{
		\INPUTITEM{col1}{First column value.}
		\INPUTITEM{[col2]}{(Optional) second column value. And so on.}
	}
	\OUTPUT { A new row will be added to the \GRID. This method returns nothing.}
	\NOTES
	{
		\NOTESITEM{Number of columns should match \GRID headers count.}
	}
	\SEEALSO
	{
		\SEEALSOITEM{get\_row()}
		\SEEALSOITEM{getv()}
	}
\end{FUNC}
% }}}
\\
% {{{ get_col_attrs ( colnum ) - Returns a column attributes 
\begin{FUNC}{get\_col\_attrs}
	\NAME{get\_col\_attrs ( colnum ) - Returns a column attributes}
	\SYNOPSIS{ (array) get\_col\_attrs ( colnum ) }
	\DESCRIPTION
	{	
		Use this method to retrieve all attributes set to a column.\\
		Data will be returned as a standard JavaScript array you can read
		as you like.
	}
	\INPUT
	{
		\INPUTITEM{colnum}{Column number you want the attributes from.}
	}
	\OUTPUT { A JavaScript standard array containing all the column values. }
	\SEEALSO
	{
		\SEEALSOITEM{get\_row\_attrs()}
		\SEEALSOITEM{getv()}
	}
\end{FUNC}
% }}}
\\
% {{{ get_row ( rownum ) - Returns a row values 
\begin{FUNC}{get\_row}
	\NAME{get\_row ( rownum ) - Returns an array of values in a row}
	\SYNOPSIS{ (array) get\_row ( rownum ) }
	\DESCRIPTION
	{	
		Use this method to retrieve all data contained inside a row.\\
		Data will be returned as a standard JavaScript array you can read
		as you like.
	}
	\INPUT
	{
		\INPUTITEM{rownum}{Row to be returned.}
	}
	\OUTPUT { A JavaScript standard array containing all the row values. }
	\SEEALSO
	{
		\SEEALSOITEM{add\_row()}
		\SEEALSOITEM{getv()}
	}
\end{FUNC}
% }}}
\\
% {{{ get_row_attrs_attrs ( rownum ) - Returns all row's attributes
\begin{FUNC}{get\_row\_attrs}
	\NAME{get\_row\_attrs ( rownum ) - Returns a row attributes}
	\SYNOPSIS{ (array) get\_row\_attrs ( rownum ) }
	\DESCRIPTION
	{	
		Use this method to retrieve all attributes set to a row.\\
		Data will be returned as a standard JavaScript array you can read
		as you like.
	}
	\INPUT
	{
		\INPUTITEM{rownum}{Row number you want the attributes from.}
	}
	\OUTPUT { A JavaScript standard array containing all the row values. }
	\SEEALSO
	{
		\SEEALSOITEM{set\_row\_attr()}
		\SEEALSOITEM{get\_col\_attrs()}
	}
\end{FUNC}
% }}}
\\
% {{{ get_str() - Returns the grid HTML code 
\begin{FUNC}{get\_str}
	\NAME{get\_str () - Returns the grid HTML code}
	\SYNOPSIS{ (string) get\_str ()}
	\DESCRIPTION
	{
		This method build the HTML code needed by the \texttt{render()} method to actually produce
		the \GRID. \\	
		This is almost an intermediate method actually not very interesting in everyday coding, but
		you could use this, for example, to see how the grid is constructed for debugging purposes.
	}
	\INPUT
	{
		\INPUTITEM{NONE}{This method gets no input.}
	}
	\OUTPUT { A \texttt{string} containing all the HTML code needed to build the \GRID.}
\end{FUNC}
% }}}
\\
% {{{ getv ( x, y ) - Returns cell contents 
\begin{FUNC}{getv}
	\NAME{getv ( x, y ) - Returns cell contents}
	\SYNOPSIS{ (object) getv ( x, y ) }
	\DESCRIPTION
	{
		This method returs the contents of the cell pointed by \texttt{x} and \texttt{y}.
	}
	\INPUT
	{
		\INPUTITEM{x}{Grid x coordinate.}
		\INPUTITEM{y}{Grid y coordinate.}
	}
	\OUTPUT { The object held by the \GRID cell.}
	\NOTES
	{
		\NOTESITEM { Remember that \GRID coordinates starts at $0,0$ and that headers and row num do not count.}
	}
	\SEEALSO
	{
		\SEEALSOITEM{get\_row()}
	}
\end{FUNC}
% }}}
\\
% {{{ length () - Returns grid length
\begin{FUNC}{length}
	\NAME{length () - Returns grid length}
	\SYNOPSIS{ (int) length () }
	\DESCRIPTION
	{
		This method returs the length of the Grid, that is: how many rows the Grid contains.
	}
	\INPUT
	{
		\INPUTITEM{NONE}{No input fields required.}
	}
	\OUTPUT { An integer containing how many rows are inside the Grid.}
\end{FUNC}
% }}}
\\
% {{{ render ( [ objId ] ) - Renders the grid on the page
\begin{FUNC}{render}
	\NAME{render ( [ objId ] ) - Renders the grid on the page}
	\SYNOPSIS{( void ) render ( [ objId ] )}
	\DESCRIPTION
	{
		This is the method that actually renders the \GRID on your web page.\\
		The \texttt{objId} is the original DOM element ID that will be replaced by the \texttt{render()}
		method. You \textbf{must} specify this ID the first time you call the \texttt{render()} method,
		but it becomes an optional parameter on all subsequent calls.\\
	}
	\INPUT
	{
		\INPUTITEM{objId}{Original DOM object ID element to be replaced by the \GRID.}
	}
	\OUTPUT{The \GRID is rendered on the page.}
	\SEEALSO
	{
		\SEEALSOITEM{get\_str()}.
	}	
\end{FUNC}
% }}}
\\
% {{{ set_border ( bsize, style, color ) - Sets grid border
\begin{FUNC}{set\_border}
	\NAME{set\_border ( bsize, style, color ) - Sets grid border}
	\SYNOPSIS{( void ) set\_border ( bsize, style, color )}
	\DESCRIPTION
	{
		Using this method you can specify (by using the same \CSS syntax of stylesheets)
		the \GRID border.
	}
	\INPUT
	{
		\INPUTITEM{bsize}{Border size. Valid values are, for example: \texttt{2px} or \texttt{0.2em}}
		\INPUTITEM{style}{Border style. Valid values are, for eg. \texttt{dashed}, \texttt{dotted} or \texttt{solid}}
		\INPUTITEM{color}{Border color. Valid values are, for eq. \texttt{\#ffaa12} or \texttt{red}}
	}
	\OUTPUT{ This method returns nothing. }
\end{FUNC}
% }}}
% {{{ set_col_align ( col, align ) - Sets the text alignment for a column 
\begin{FUNC}{set\_col\_align}
	\NAME{set\_col\_align ( col, align ) - Sets the text alignment for a column}
	\SYNOPSIS{( void ) set\_col\_align ( col, align )}
	\DESCRIPTION
	{
		This method sets the text justification alignment for a specific column. \texttt{col} is the
		column you are setting align to and \texttt{align} is the new alignment. 
	}
	\INPUT
	{
		\INPUTITEM{col}{Column to set the alignment.}
		\INPUTITEM{align}{Alignment to set for the column. 
			  	  Valid values for \texttt{align} are: \texttt{left}, \texttt{right}, \texttt{center} and \texttt{justify}.}
	}
	\OUTPUT{This method returns nothing.}
	\NOTES{
		\NOTESITEM{Remember that \texttt{col} starts from 0.}
	}
\end{FUNC}
% }}}
% {{{ set_col_editable ( col, editable ) - Defines if a column is editable or not
\begin{FUNC}{set\_col\_editable}
	\NAME{set\_col\_editable ( col, editable ) - Defines if a column is editable or not.}
	\SYNOPSIS{( void ) set\_col\_editable ( col, editable )}
	\DESCRIPTION
	{
		You can make cell contents editable by column selection. By setting the \texttt{editable} flag to 
		\texttt{true}, the user will be able to click inside a cell and change its contents.\\
		As usual \texttt{col} is the column ordinal number you want to set the attribute to.
	}
	\INPUT
	{
		\INPUTITEM{col}{Column to set the alignment.}
		\INPUTITEM{editable}{Flag true/false. If \texttt{true}, the column will be editable.}
	}
	\OUTPUT{This method returns nothing.}
	\NOTES{
		\NOTESITEM{Remember that \texttt{col} starts from 0.}
	}
\end{FUNC}
% }}}
% {{{ set_col_render ( col, render_callback ) - Sets a column renderer
\begin{FUNC}{set\_col\_render}
	\NAME{set\_col\_render ( col, render\_callback ) - Sets a column renderer.}
	\SYNOPSIS{( void ) set\_col\_render ( col, render\_callback )}
	\DESCRIPTION
	{
		\GRID cell data can be manipulated before being output to the browser.
		To do so, you simply have to define a \textit{column renderer}, a JavaScript funtion that will
		be called by the \GRID itself each time it needs to render some data inside a given cell of a specific
		column.
		Column renderers are great, for example, if you want to create links on the fly without having to hardcode
		them in the data added with \texttt{add\_row()} method.

		Column renderer prototype is the following:\\
		\\
		\begin{FUNC}{column\_renderer}
			\NAME{column\_renderer ( txt ) }
			\SYNOPSIS{ ( string ) column\_renderer ( txt, full\_id ) }
			\INPUT
			{
				\INPUTITEM{txt}{\textit{"Plain"} cell content to be manipulated before output.}
				\INPUTITEM{full\_id}{The full id identifying the cell.}
			}
			\OUTPUT { the string to be output to the browser. }
		\end{FUNC}
	
		As an example, consider the following code snippet which defines a renderer that will make the given text \textbf{bold}.
		\\
\texttt{
	function bold\_render ( txt, full\_id ) \\
	\LBRACE\\
		return '<strong>' + txt + '<\BSLASH/strong>';\\
	\RBRACE\\
\\
	g.set\_col\_render = bold\_render;
	}
}
	\INPUT
	{
		\INPUTITEM{col}{Column to set the alignment.}
		\INPUTITEM{render\_callback}{Render function name to be called.}
	}
	\OUTPUT{This method returns nothing.}
	\NOTES{
		\NOTESITEM{Remember that \texttt{col} starts from 0.}
	}
\end{FUNC}
% }}}
% {{{ set_col_type ( colnum, type ) - Sets the column type for sort and edit 
\begin{FUNC}{set\_col\_type}
	\NAME{set\_col\_type ( colno, type ) - Sets the column type for sort and edit}
	\SYNOPSIS{( void ) set\_col\_type ( colnum, type )}
	\DESCRIPTION
	{
		By default, all columns inside a \GRID are considered strings. Since you may want to
		insert numbers or dates inside your string, this method comes in help.
	}
	\INPUT{
		\INPUTITEM{colnum}{The column number to set the type to}
		\INPUTITEM{type}{The column type. It must be one of the following strings:
					\bl
					\titem{str}{The column is a string}
					\titem{int}{The column is an integer number}
					\titem{date}{The column is a date}
					\el
				}
	}
	\OUTPUT{This method returns nothing.}
\end{FUNC}
% }}}
% {{{ set_col_valid_chars ( col, chars ) - Declares valid inputable chars for the column
\begin{FUNC}{set\_col\_valid\_chars}
	\NAME{set\_col\_valid\_chars ( col, chars ) - Declares valid inputable chars for the column.}
	\SYNOPSIS{( void ) set\_col\_valid\_chars ( col, chars )}
	\DESCRIPTION
	{
		When a cell is marked as editable, you may wish to filter the user input by allowing only a subset	
		of valid chars. For example, in a number text field, you may wish to set the valid range of chars
		to \texttt{0123456789} avoiding the need of validating the user input. By using this method, you
		can enable the chars filtering by simply provide the chars the user will be allowed to type in.
	}
	\INPUT
	{
		\INPUTITEM{col}{Column to set the alignment.}
		\INPUTITEM{chars}{A string containing all the chars that the user can input inside the column edit box.}
	}
	\OUTPUT{This method returns nothing.}
	\NOTES{
		\NOTESITEM{Remember that \texttt{col} starts from 0.}
	}
	\SEEALSO{
		\SEEALSOITEM{set\_col\_editable()}
		\SEEALSOITEM{set\_col\_validator()}
	}
\end{FUNC}
% }}}
% {{{ set_col_validation ( col, func ) - Sets the column input data validator
\begin{FUNC}{set\_col\_validation}
	\NAME{set\_col\_validation ( col, func ) - Sets the column input data validator.}
	\SYNOPSIS{( void ) set\_col\_validation ( col, func )}
	\DESCRIPTION
	{
		If the user is able to input new data in the grid, you may wish to check if inputted data is
		actually valid. To filter user input you can use \texttt{set\_col\_valid\_chars()} method, but to
		be sure that the provided data is definitely good, you may provide a JS function to completely
		validate the new data for you. The \texttt{func} prototype is the following:\\
		\\
		\texttt{function validate ( txt )}
		\\
		and it should return \texttt{true} if \texttt{txt} is valid, and \texttt{false} otherwise.
		If the validation function fails, the user will be prompted to change his/her data.
	}
	\INPUT
	{
		\INPUTITEM{col}{Column to set the alignment.}
		\INPUTITEM{func}{Function callback.}
	}
	\OUTPUT{This method returns nothing.}
	\NOTES{
		\NOTESITEM{Remember that \texttt{col} starts from 0.}
	}
	\SEEALSO{
		\SEEALSOITEM{set\_col\_editable()}
		\SEEALSOITEM{set\_col\_valid\_chars()}
	}
\end{FUNC}
% }}}
% {{{ set_headers ( header1 [, header2 [, header3 ... ] ] ) - Set grid headers 
\begin{FUNC}{set\_headers}
	\NAME{set\_headers ( header1 [, header2 [, header3 ... ] ] ) - Sets grid headers.}
	\SYNOPSIS{( void ) set\_headers ( header1 [, header2 [, header3 ... ] ] )}
	\DESCRIPTION
	{
		Use this method to set (or change) grid headers. Here there is an example:\\
		\\
		\texttt{
			// Grid Headers are the grid column names  \\
			g.set\_headers ( 'feat.no', 'Name', 'Descr', 'Importance' );
		}
	}
	\INPUT
	{
		\INPUTITEM{header1}{First column header.}
		\INPUTITEM{[header2]}{Second column header...}
	}
	\OUTPUT{This method returns nothing.}
\end{FUNC}
% }}}
% {{{ set_highlight ( enabled ) - Sets rows highlight  ** DEPRECATED **
\begin{FUNC}{set\_highlight}
	\NAME{set\_highlight ( enabled ) - Sets rows highlight. \B{DEPRECATED}}
	\SYNOPSIS{( void ) set\_highlight ( enabled ).}
	\DESCRIPTION
	{
		\B{DEPRECATED}\\
		By using this method you can enable or disable \textit{row highlighting}, a special visual
		effect that will highlight the row currently under the mouse. This is extremely useful
		for the users so they can see all row data in a glimpse.
	}
	\INPUT{
		\INPUTITEM{enabled}{Flag \texttt{true}/\texttt{false}. It \texttt{true}, rows will be 
				    highlighted when the mouse passes on them.}
	}
	\OUTPUT{This method returns nothing.}
	\NOTES{
		\NOTESITEM{This method has been \B{DEPRECATED}. Use the \texttt{width} and \texttt{height} attributes instead.}
	}
\end{FUNC}
% }}}
% {{{ set_row_attr ( rownum, attr, val ) - Set a new attribute to the row
\begin{FUNC}{set\_row\_attr}
	\NAME{set\_row\_attr ( rownum, attr, val ) - Sets a new attribute to the row.}
	\SYNOPSIS{( void ) set\_row\_attr ( rownum, attr, val )}
	\DESCRIPTION
	{
		This method sets the background color of the \texttt{row\_num} color. If you have just
		done a \texttt{add\_row} operation and wish to change the last row background, simply
		pass \texttt{-1} as \texttt{row\_num} and \GRID will set the provided background color
		to the last row.\\
	}
	\INPUT{
		\INPUTITEM{rownum}{The row number you want to set the attribute to.}
		\INPUTITEM{attr}{Attribute name}
		\INPUTITEM{val}{Attribute value}
	}
	\NOTES{
		\NOTESITEM{Remember that \textit{attribute names} are \textbf{case sensitive}!}
	}
	\SEEALSO
	{
		\SEEALSOITEM{get\_row\_attrs()}
	}
\end{FUNC}
% }}}
% {{{ set_row_color ( col [, row_num] ) - Sets a row color 
\begin{FUNC}{set\_row\_color}
	\NAME{set\_row\_color ( col [, row\_num ] ) - Sets a row color.}
	\SYNOPSIS{( void ) set\_row\_color ( col [, row\_num] )}
	\DESCRIPTION
	{
		This method sets the background color of the \texttt{row\_num} color. If you have just
		done a \texttt{add\_row} operation and wish to change the last row background, simply
		pass \texttt{-1} as \texttt{row\_num} and \GRID will set the provided background color
		to the last row.\\
	}
	\INPUT{
		\INPUTITEM{col}{\texttt{col} is a color specification following the \CSS rules, for eg. \texttt{\#fc3285} or \texttt{grey}.}
		\INPUTITEM{row\_num}{Row number to set the color to. If set to \texttt{-1} or simply omitted, the last row inserted will be affected by this method.}
	}
	\NOTES{
		\NOTESITEM{Remember that \texttt{row\_num} starts from 0.}
	}
	\SEEALSO
	{
		\SEEALSOITEM{set\_row\_style()}
		\SEEALSOITEM{set\_style()}
		\SEEALSOITEM{add\_row()}
	}
\end{FUNC}
% }}}
% {{{ set_row_select ( select ) - Determines if the OS3Grid rows are selectable
\begin{FUNC}{set\_row\_select }
	\NAME{set\_row\_select ( select ) - Determines if the \GRID rows are selectable }
	\SYNOPSIS{( void ) set\_row\_select ( select )}
	\DESCRIPTION
	{
		If you want the user to be able to multiple select and deselect entire rows,
		set this option to \texttt{true}.
	}
	\INPUT{
		\INPUTITEM{select}{Flag \texttt{true}/\texttt{false}. It \texttt{true}, \GRID rows will be selectableby the user
				by clicking on row number.}
	}
	\OUTPUT{This method returns nothing.}
	\NOTES{
		\NOTESITEM{By default, rows are \B{not} selectablem, and row numbers are not shown.}
		\NOTESITEM{If set to \texttt{true}, the method also implies \texttt{show\_row\_num} to be \texttt{true}.}
	}
	\SEEALSO{
		\SEEALSOITEM{onrowselect event}
		\SEEALSOITEM{show\_row\_num()}
	}
\end{FUNC}
% }}}
% {{{ set_row_style ( style, rownum ) - Sets the row style
\begin{FUNC}{set\_row\_style }
	\NAME{set\_row\_style ( style, rownum ) - Sets the row style.}
	\SYNOPSIS{( void ) set\_row\_style ( style, rownum )}
	\DESCRIPTION
	{
		You can set the row style of a row by using this method.\\
	}
	\INPUT{
		\INPUTITEM{style}{This is the name of the style. See \texttt{set\_style()} for a list of default provided styles.}
		\INPUTITEM{rownum}{This is the row the style will be applied to. If set to \texttt{-1} or simply undefined, the 
				   style will be applied to the last inserted row.}
	}
	\OUTPUT{This method returns nothing.}
	\SEEALSO{
		\SEEALSOITEM{set\_style()}
	}
\end{FUNC}
% }}}
% {{{ set_scrollbars ( enabled ) - Show grid scrollbars 
\begin{FUNC}{set\_scrollbars}
	\NAME{set\_scrollbars ( enabled ) - Shows grid scrollbars}
	\SYNOPSIS{( void ) set\_scrollbars ( enabled )}
	\DESCRIPTION
	{
		If you want the \GRID to have scrollbars when needed, pass \texttt{true} to this method.
		By default, \GRID does \textbf{not} show scrollbars and tries to get all the space it needs.
	}
	\INPUT{
		\INPUTITEM{enabled}{Flag \texttt{true}/\texttt{false}. It \texttt{true}, scrollbars will be displayed if needed.}
	}
	\OUTPUT{This method returns nothing.}
\end{FUNC}
% }}}
% {{{ set_size ( width, height ) - Sets grid size   ** DEPRECATED **
\begin{FUNC}{set\_size}
	\NAME{set\_size ( width, height ) - Sets grid size \B{DEPRECATED}}
	\SYNOPSIS{( void ) set\_size ( width, height )}
	\DESCRIPTION
	{
		\B{DEPRECATED} \\
		Use this method to set the \GRID sizes. If you want the browser to set one of the
		sizes for you, pass \texttt{0} as value. Both \texttt{width} and \texttt{height} follow
		the \CSS syntax, so you can specify, for example \texttt{220px} or \texttt{80\%}.
	}
	\INPUT{
		\INPUTITEM{width}{\GRID width.}
		\INPUTITEM{height}{\GRID height.}
	}
	\OUTPUT{This method returns nothing.}
	\NOTES{
		\NOTESITEM{This method has been \B{DEPRECATED}. Use the \texttt{highlight} attribute instead.}
		\NOTESITEM{You \B{must} provide both values at once! If you set \texttt{width} or \texttt{height}
			   to zero or \texttt{undefined}, this method will not have any effect.
			}
	}
\end{FUNC}
% }}}
% {{{ set_sort_field ( col ) - Sets the current sort field 
\begin{FUNC}{set\_sort\_field}
	\NAME{set\_sort\_field ( col ) - Sets the current sort field}
	\SYNOPSIS{( void ) set\_size ( col )}
	\DESCRIPTION
	{
		Sets the new field used for \texttt{sort()} operations. If the field is the same as the
		preceeding one, sort order is switched from ascending to descending and vice-versa.\\
		Please note that this method just sets the new sort field but actually does not perform any
		sort operation.  If you want an immediate grid refresh, call the \texttt{sort()} method by yourself.
	}
	\INPUT{
		\INPUTITEM{col}{Column used as main key to sort the \GRID.}
	}
	\OUTPUT{This method returns nothing.}
	\NOTES{
		\NOTESITEM{Remember that \texttt{col} starts from 0.}
	}
	\SEEALSO{
		\SEEALSOITEM{sort()}
	}
\end{FUNC}
% }}}
% {{{ set_sortable ( sortable ) - Determines if the OS3Grid is sortable  ** DEPRECATED ** 
\begin{FUNC}{set\_sortable - DEPRECATED }
	\NAME{set\_sortable ( sortable ) - Determines if the \GRID is sortable \B{DEPRECATED}}
	\SYNOPSIS{( void ) set\_sortable ( sortable )}
	\DESCRIPTION
	{
		\B{DEPRECATED}\\
		If you want the grid to behave like a real spreadsheed grid, you may wish the user to be able
		to sort rows by clicking on \GRID title columns. By setting this flag to \texttt{true}
		(and eventually calling the \texttt{render()} method) you can achieve this goal.\\
	}
	\INPUT{
		\INPUTITEM{sortable}{Flag \texttt{true}/\texttt{false}. It \texttt{true}, \GRID will be sortable
				by clicking on its headers.}
	}
	\OUTPUT{This method returns nothing.}
	\NOTES{
		\NOTESITEM{This method has been \B{DEPRECATED}. Use the \texttt{sortable} attribute instead.}
	}
\end{FUNC}
% }}}
% {{{ set_style ( stylename ) - Set the current OS3Grid style  ** DEPRECATED **
\begin{FUNC}{set\_style }
	\NAME{set\_style ( stylename ) - Sets the current \GRID style.\B{DEPRECATED}}
	\SYNOPSIS{( void ) set\_style ( stylename )}
	\DESCRIPTION
	{
		\B{DEPRECATED}\\
		Use this method to globally set \GRID style to be used. \\
		After this method is called, every row added to the \GRID
		will use this style (unless rederined using \texttt{set\_row\_style()}
		method).\\
	}
	\INPUT{
		\INPUTITEM{stylename}{One of the described style names
				Default provided styles are the following:
				\bl
				\titem{normal}{The default style. Defines a "normal" row.}
				\titem{error}{This style should be used to show the user very critical rows.}
				\titem{warn}{This style should be used to show the user important rows.}
				\titem{note}{This style should be used to highlight to the user some rows.}
				\el
				}
	}
	\OUTPUT{This method returns nothing.}
	\SEEALSO{
		\SEEALSOITEM{set\_row\_style()}
	}
	\NOTES{
		\NOTESITEM{This method has been \B{DEPRECATED}. Use the \texttt{current_style} attribute instead.}
	}
\end{FUNC}
% }}}
% {{{ show_row_num ( show ) - Determines if you want to see row numbers
\begin{FUNC}{show\_row\_num }
	\NAME{show\_row\_num ( show ) - Determines if row numbers should be shown or not.}
	\SYNOPSIS{( void ) show\_row\_num ( show )}
	\DESCRIPTION
	{
		If you want \GRID to automatically created and show row numbers, simply pass \texttt{true}
		to this method.
	}
	\INPUT{
		\INPUTITEM{show}{Flag \texttt{true}/\texttt{false}. It \texttt{true}, \GRID row numbers will be shown.}
	}
	\OUTPUT{This method returns nothing.}
	\NOTES{
		\NOTESITEM{By default, row numbers are not shown.}
	}
	\SEEALSO{
		\SEEALSOITEM{set\_row\_select()}
	}
\end{FUNC}
% }}}
% {{{ sort () - Sorts the Grid 
\begin{FUNC}{sort}
	\NAME{sort() - Sorts the \GRID}
	\SYNOPSIS{( void ) sort()}
	\DESCRIPTION
	{
		This method sorts the \GRID accordingly to the current sort field. Sort field may be set with the
		\texttt{set\_sort\_field} method or by the user clicking on a column title.
	}
	\OUTPUT{This method returns nothing.}
	\SEEALSO{
		\SEEALSOITEM{set\_sort\_field}
	}
\end{FUNC}
% }}}
